package com.study.design.model.behaviorPattern.iterator;

/**
* @Name: MyIterator
* @Description: 自定义迭代器接口
* @Author: 李超	lc_jack@foxmail.com
* @CreateDate: 2017-2-15 下午4:04:34 
* @Version: V1.0
 */
public interface MyIterator {
	
	/**
	* @Name: first
	* @Description: 将游标指向第一个元素
	* @Author: 李超	lc_jack@foxmail.com
	* @Version: V1.0
	* @CreateDate: 2017-2-15 下午4:06:08
	* @Parameters: 
	* @Return: void
	 */
	void first() ;
	
	/**
	* @Name: next
	* @Description: 将游标指向下一个元素
	* @Author: 李超	lc_jack@foxmail.com
	* @Version: V1.0
	* @CreateDate: 2017-2-15 下午4:06:23
	* @Parameters: 
	* @Return: void
	 */
	void next() ;
	
	/**
	* @Name: hasNext
	* @Description: 判断是否存在下一个元素
	* @Author: 李超	lc_jack@foxmail.com
	* @Version: V1.0
	* @CreateDate: 2017-2-15 下午4:06:41
	* @Parameters: @return
	* @Return: boolean
	 */
	boolean hasNext() ;
	
	/**
	* @Name: isFirst
	* @Description: 判断是否是第一个元素
	* @Author: 李超	lc_jack@foxmail.com
	* @Version: V1.0
	* @CreateDate: 2017-2-15 下午4:06:58
	* @Parameters: @return
	* @Return: boolean
	 */
	boolean isFirst() ;
	
	/**
	* @Name: isLast
	* @Description: 判断是否是最后一个元素
	* @Author: 李超	lc_jack@foxmail.com
	* @Version: V1.0
	* @CreateDate: 2017-2-15 下午4:07:10
	* @Parameters: @return
	* @Return: boolean
	 */
	boolean isLast() ;
	
	/**
	* @Name: getCurrentObject
	* @Description: 获取当前游标指向的对象
	* @Author: 李超	lc_jack@foxmail.com
	* @Version: V1.0
	* @CreateDate: 2017-2-15 下午4:07:21
	* @Parameters: @return
	* @Return: Object
	 */
	Object getCurrentObject() ;

}
